package uage.exception

import uage.ast.Expr

abstract class Exception extends java.lang.Exception {}

case class ExprNotFoundException(expr:Any) extends Exception{
  print("<" + expr + "> ")
}

case class UnknownExprException(expr:Any) extends Exception{
  print("<" + expr + "> ")
}

case class ExprNotCallableException(expr:Any) extends Exception{
  print("<" + expr + "> ")
}

case class ParamLengthMismatchException(expr:Any) extends Exception{
  print("<" + expr + "> ")
}

case class ExprTypeMismatchException(expr:Any) extends Exception{
  print("<" + expr + "> ")
}

case class UnsupportedOperandException(expr:Any) extends Exception{
  print("<" + expr + "> ")
}

case class UnsupportedOperatorException(expr:Any) extends Exception{
  print("<" + expr + "> ")
}

case class UnsupportedExprException(expr:Any) extends Exception{
  print("<" + expr + "> ")
}

case class ParamsDefinedException(expr:Any) extends Exception{
  print("<" + expr + "> ")
}

case class SyntaxUnrealizedException(expr:Any) extends Exception{
  print("<" + expr + "> ")
}

case class ErrorChainFormatException(expr:Any) extends Exception{
  print("<" + expr + "> ")
}

case class ExprUnrealizedException(expr:Any) extends Exception{
  print("<" + expr + "> ")
}

case class IfExprStatException(expr:Any) extends Exception{
  print("<" + expr + "> ")
}

case class SyntaxException(expr:Any) extends Exception{
  print("<" + expr + "> ")
}
 

